package sf.database.annotations;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 用于描述一个实体的行为
 * @author
 */
@Target(TYPE)
@Retention(RUNTIME)
public @interface SmallEntity {
    /**
     * 这个注解可以加在一个实体上，作用是让实体在解析时可以无视增强警告。
     * 允许该实体可以不增强使用。
     * @return 是否检查增强
     */
    boolean checkEnhanced() default true;

    /**
     * 当使用自动扫描实体类时，是否刷新数据库中的表
     * @return
     */
    boolean refresh() default true;

    /**
     * 当使用自动扫描实体类时，是否新建数据库中的表
     * @return
     */
    boolean create() default true;

    /**
     * 使用外连接,暂时无用
     * @return
     */
    boolean useOuterJoin() default true;
}
